You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RangeAggregator is different from other PER_BUCKET aggregators (such as terms or histogram aggregators) in that it knows the number of buckets it will create in advance. So it could actually be a MULTI_BUCKETS aggregator by just multiplying the bucket ordinals by the number of ranges.
This will make RangeAggregator faster and more memory-efficient when used as a sub-aggregator of other PER_BUCKET aggregators.
The text was updated successfully, but these errors were encountered:
Until now, RangeAggregator was a PER_BUCKET aggregator, expecting to be always
collected with owningBUcketOrdinal == 0. However, since the number of buckets
it creates is known in advance, it can be changed to a MULTI_BUCKETS aggregator
by just multiplying the bucket ordinal by the number of ranges.
This makes aggregations that have ranges as sub aggregations of PER_BUCKET
aggregators more efficient.
Closeelastic#4550
Until now, RangeAggregator was a PER_BUCKET aggregator, expecting to be always
collected with owningBUcketOrdinal == 0. However, since the number of buckets
it creates is known in advance, it can be changed to a MULTI_BUCKETS aggregator
by just multiplying the bucket ordinal by the number of ranges.
This makes aggregations that have ranges as sub aggregations of PER_BUCKET
aggregators more efficient.
Closeelastic#4550
RangeAggregator is different from other PER_BUCKET aggregators (such as terms or histogram aggregators) in that it knows the number of buckets it will create in advance. So it could actually be a MULTI_BUCKETS aggregator by just multiplying the bucket ordinals by the number of ranges.
This will make RangeAggregator faster and more memory-efficient when used as a sub-aggregator of other PER_BUCKET aggregators.
The text was updated successfully, but these errors were encountered: